/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package damas.gui;

import damas.modelo.DamasModelo;
import java.awt.Color;
import java.awt.Component;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.TableCellRenderer;

/**
 * Renderizador para las celdas de la tabla en {@code DamasGui}
 * 
 * @author Sim�n Emmanuel Guti�rrez Brida
 * @version 0.1
 */
public class RenderizadorTablero implements TableCellRenderer{
    private Color fondo_claro = Color.GRAY;
    private Color fondo_oscuro = Color.LIGHT_GRAY;
    
    
    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        JLabel newLabel = new JLabel();
        newLabel.setEnabled(true);
        newLabel.setOpaque(true);
        
        if (((Integer)value) == DamasModelo.NEGRA*DamasModelo.FONDO_BLANCO) {
            newLabel.setIcon(new ImageIcon(System.class.getResource("/imagenes/ficha_negra.png")));
            newLabel.setBackground(fondo_claro);
        } else if (((Integer)value) == DamasModelo.ROJA*DamasModelo.FONDO_NEGRO) {
            newLabel.setIcon(new ImageIcon(System.class.getResource("/imagenes/ficha_roja.png")));
            newLabel.setBackground(fondo_oscuro);
        } else if (((Integer)value) == DamasModelo.NEGRA*DamasModelo.FONDO_NEGRO) {
            newLabel.setIcon(new ImageIcon(System.class.getResource("/imagenes/ficha_negra.png")));
            newLabel.setBackground(fondo_oscuro);
        } else if (((Integer)value) == DamasModelo.ROJA*DamasModelo.FONDO_BLANCO) {
            newLabel.setIcon(new ImageIcon(System.class.getResource("/imagenes/ficha_roja.png")));
            newLabel.setBackground(fondo_claro);
        } else if (((Integer)value) == DamasModelo.NEGRA*DamasModelo.FONDO_BLANCO*DamasModelo.DAMA) {
            newLabel.setIcon(new ImageIcon(System.class.getResource("/imagenes/ficha_negra_doble.png")));
            newLabel.setBackground(fondo_claro);
        } else if (((Integer)value) == DamasModelo.ROJA*DamasModelo.FONDO_NEGRO*DamasModelo.DAMA) {
            newLabel.setIcon(new ImageIcon(System.class.getResource("/imagenes/ficha_roja_doble.png")));
            newLabel.setBackground(fondo_oscuro);
        } else if (((Integer)value) == DamasModelo.NEGRA*DamasModelo.FONDO_NEGRO*DamasModelo.DAMA) {
            newLabel.setIcon(new ImageIcon(System.class.getResource("/imagenes/ficha_negra_doble.png")));
            newLabel.setBackground(fondo_oscuro);
        } else if (((Integer)value) == DamasModelo.ROJA*DamasModelo.FONDO_BLANCO*DamasModelo.DAMA) {
            newLabel.setIcon(new ImageIcon(System.class.getResource("/imagenes/ficha_roja_doble.png")));
            newLabel.setBackground(fondo_claro);
        } else if (((Integer)value) == 0) {
            newLabel.setEnabled(false);
        } else  {
            if (((Integer)value) == DamasModelo.FONDO_BLANCO) {
                newLabel.setBackground(Color.GRAY);
            } else if (((Integer)value) == DamasModelo.FONDO_NEGRO) {
                newLabel.setBackground(Color.LIGHT_GRAY);
            }
        }
        return newLabel;
    }
    
}
